//
//  MainMenuVC.h
//  Mockup
//
//  Created by JOHN HODGSON on 2/14/10.
//  Copyright 2010 Mac-Easy@USC. All rights reserved.
//
//  Last update: 3/2/10

#import <UIKit/UIKit.h>
#import "AboutVC.h"
#import "HelpVC.h"
#import "HighScoresVC.h"
#import "GameVC.h"
#import "Configuration.h"
#import "Utils.h"
#import "OptionsVC.h"

@interface MainMenuVC : UIViewController <UIAlertViewDelegate> {
	//UIImage *background;
	//UILabel *title;
	AboutVC *aboutController;
	HighScoresVC *highScoresController;
	GameVC * gameController;
	OptionsVC *optionsViewController;
	IBOutlet UIBarButtonItem * loadButton;
	IBOutlet UIView *splashView;
}

//@property (nonatomic, retain) UIImage *background;
//@property (nonatomic, retain) UILabel *title;
//@property (nonatomic, retain) AboutVC *aboutController;
@property (nonatomic, retain) HighScoresVC *highScoresController;
@property (nonatomic, retain) GameVC * gameController;
@property (nonatomic, retain) OptionsVC * optionsViewController;
@property (nonatomic, retain) IBOutlet UIBarButtonItem * loadButton;

//Interface builder actions when button is pressed
-(IBAction)NewButtonPressed:(id)sender;
-(IBAction)LoadButtonPressed:(id)sender;
-(IBAction)HighScoreButtonPressed:(id)sender;
-(IBAction)HelpButtonPressed:(id)sender;
-(IBAction)OptionsButtonPressed:(id)sender;
-(IBAction)AboutButtonPressed:(id)sender;

-(void)showSplashScreen;
-(void)hideSplashScreen;

//Action methods called from inside the IB actions (respectively)
-(void)newGameAction;

// why class rather than instance scope???
-(void)loadGameAction;
-(void)highScoreAction;
-(void)helpAction;
-(void)optionsAction;
-(void)aboutAction;

-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex;

-(BOOL)checkSavedGame;
-(void)showDifficultySelector;
-(void)showOverrideConfirmation;
-(void)continueAction;
-(void)overrideAction;

-(void)startGameWithDifficulty: (difficulty_t) difficulty;
-(void)startGameWithContentOfFile: (NSString *) filename;

// ?
/**
 +(void)highScoreDismissed;
 +(void)optionsDismissed;
 +(void)helpDismissed;
 +(void)aboutDismissed;
 **/

@end
